package com.kevinkk.array;

/**
 * 有效的完全平方数
 * 给你一个正整数 num 。如果 num 是一个完全平方数，则返回 true ，否则返回 false
 *
 * 类似 x的平方根
 */

public class ValidPerfectSquare {
    public boolean isPerfectSquare(int num) {
        int left = 0, right = num;
        int mid = 0;

        while(left <= right){
            mid = (left + right) / 2;
            long res = (long)mid * mid;
            if(res == num){
                return true;
            }else if(res < num){
                left = mid + 1;
            }else{
                right = mid - 1;
            }
        }

        // 无需判断，直接返回false
        return false;
    }
}
